這個章節中的練習需要使用 root
帳號進行操作。
使用 chown
和 chgrp
改變擁有者和群組
在 Linux 裡,我們已經知道每個文件都載明了 User 與 Group。我們可以透過 chown
與 chgrp
等 2 個主要指令來修改文件文的欄位,用法說明如下:
chown 使用者名:群組名 檔案名
:改變檔案的擁有者和群組。chgrp 群組名 檔案名
:改變檔案的群組。這些指令組合起來提供了強大的工具,可以精確地控制不同使用者和群組如何存取系統上的檔案和目錄。透過適當地設定和管理 ugo
權限,可以保護敏感資料,同時促進協作和共享。
在 Linux 中,設定檔案或目錄的 ugo
權限主要使用 chmod
指令。下面是一些具體的使用方式:
使用數字表示法
我們可以使用數字(八進制)來設定權限。例如:
chmod 755 檔案名
:設定檔案的使用者權限為讀、寫、執行(7),群組權限為讀、執行(5),其他人權限為讀、執行(5)。使用符號表示法
您還可以使用符號來更靈活地設定權限:
chmod u+x 檔案名
:對檔案的擁有者(u)添加執行(x)權限。chmod g-w 檔案名
:從檔案的群組(g)權限中移除寫入(w)權限。chmod o=r 檔案名
:設定其他人(o)的權限僅為讀取(r)。為了能夠瞭解權限的應用,我們假設需要完成下列需求:
其具體做法如下:
建立 grp1
, grp2
群組:
root# groupadd grp1
root# groupadd grp2
建立使用者和群組對應:
建立 user11
, user12
並設定主要群組為 grp1
:
root# useradd -g grp1 user11
root# useradd -g grp1 user12
建立 user21
, user22
並設定主要群組為 grp2
:
root# useradd -g grp2 user21
root# useradd -g grp2 user22
檢查各帳戶的群組資訊:
root# id user11
root# id user12
root# id user21
root# id user22
建立需求目錄:
建立 /clss
目錄並進入該目錄:
root# mkdir /class
root# cd /class/
建立需求相關子目錄:
root# mkdir public grp1 grp2
root# ls -lh
設定所有使用者對 public/
都有存取權:
root# chmod u=rwx,g=rwx,o=rwx public/
root# ls -lh
設定 grp1
的權限:
root# chmod u=rwx,g=rwx,o=--- grp1
root# ls -lh
設定 grp1
的權限:
root# chmod u=rwx,g=rwx,o=rx grp2
root# ls -lh
指定群組 grp1
對應到 grp1/
目錄:
root# chgrp -R grp1 grp1/
root# ls -lh
指定群組 grp2
對應到 grp2/
目錄:
root# chgrp -R grp2 grp2/
root# ls -lh